Aide sur les fonctions

Exercice 1

encode64(codein) : dictionnaire qui permet de traduire un caractère en un code binaire sur six bits. Pour le caractère "r" ce sera '101011'.

stegano(pixel, code) : permet d'insérer le code binaire sur six bits dans les trois octets RVB d'un pixel. Exemple : soit le premier pixel de l'image dataimage[0] = (35, 56, 39), que l'on peut traduire en binaire par (0010 0011, 0011 1000, 0010 0111). Il faut remplacer les deux bits de poids faible (ceux de droite !) de ces trois valeurs par les six bits du code avec l'opération (pixel[0]&0b11111100)|(int(code[0])*2+int(code[1])) pour la composante rouge. 0010 0011 devient 0010 0010, 0011 1000 devient 0011 1010 et 0010 0111 devient 0010 0111 . Finalement, le pixel vaut (34, 58, 39).

Exercice 2

decode64(codein) : dictionnaire qui permet de traduire un code binaire sur six bits en  un caractère. Pour le code '101011' ce sera "r".

decode(pixel) : permet d'extraire le code binaire sur six bits des trois octets RVB d'un pixel. Exemple : soit le premier pixel de l'image dataimage[0] = (34, 58, 39), que l'on peut traduire en binaire par (0010 0010, 0011 1010, 0010 0111). Il faut extraire les deux bits de poids faible (ceux de droite !) de ces trois valeurs puis les recomposer pour former les six bits du code (101011).

Source : https://lesmanuelslibres.region-academique-idf.fr
Télécharger le manuel : https://forge.apps.education.fr/drane-ile-de-france/les-manuels-libres/snt-seconde ou directement le fichier ZIP
Sous réserve des droits de propriété intellectuelle de tiers, les contenus de ce site sont proposés dans le cadre du droit Français sous licence CC BY-NC-SA 4.0